<!doctype html>
<html lang="zh-cn">
<head>

    <meta charset="utf-8">
    <meta name="generator" content="Hugo 0.57.2" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>QT常用组件 | The Sky of OtsWang</title>
    <meta property="og:title" content="QT常用组件 - The Sky of OtsWang">
    <meta property="og:type" content="article">
        
    <meta property="article:published_time" content="2019-07-30T09:59:30&#43;08:00">
        
        
    <meta property="article:modified_time" content="2019-07-30T09:59:30&#43;08:00">
        
    <meta name="Keywords" content="golang,go语言,otswang,java,博客,python">
    <meta name="description" content="QT常用组件">
        
    <meta name="author" content="OtsWang">
    <meta property="og:url" content="https://otswang.gitee.io/hugo/post/qt/qt_component/">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">

    <link rel="stylesheet" href="/hugo/css/normalize.css">
    
        <link rel="stylesheet" href="/hugo/css/prism.css">
    
    <link rel="stylesheet" href="/hugo/css/style.css">
    <script type="text/javascript" src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

    


    
    
</head>

<body>
<header id="header" class="clearfix">
    <div class="container">
        <div class="col-group">
            <div class="site-name ">
                
                    <a id="logo" href="https://otswang.gitee.io/hugo/">
                        The Sky of OtsWang
                    </a>
                
                <p class="description">擅长写HelloWorld的小小码农</p>
            </div>
            <div>
                <nav id="nav-menu" class="clearfix">
                    
                    
                    <a  href="https://otswang.gitee.io/hugo/" title="Home">Home</a>
                    
                    <a  href="https://otswang.gitee.io/hugo/tags/" title="Tags">Tags</a>
                    
                    <a  href="https://otswang.gitee.io/hugo/categories/" title="Categories">Categories</a>
                    
                    <a  href="https://otswang.gitee.io/hugo/archives/" title="Archives">Archives</a>
                    
                    <a  href="https://otswang.gitee.io/hugo/about/" title="About">About</a>
                    
                </nav>
            </div>
        </div>
    </div>
</header>


<div id="body">
    <div class="container">
        <div class="col-group">

            <div class="col-8" id="main">
                <div class="res-cons">
                    <article class="post">
                        <header>
                            <h1 class="post-title">QT常用组件</h1>
                        </header>
                        <date class="post-meta meta-date">
                            2019年7月30日
                        </date>
                        
                        <div class="post-meta">
                            <span>|</span>
                            
                                <span class="meta-category"><a href="https://otswang.gitee.io/hugo/categories/qt">QT</a></span>
                            
                        </div>
                        
                        
                        
                        <div class="post-content">
                            <p>QT 组件学习</p>

<h2 id="lineedit">LineEdit</h2>

<h2 id="qspinbox-与-qdoublespinbox">QSpinBox 与 QDoubleSpinBox</h2>

<p>QAbstractSpinBox 的子类，用于整数和浮点数的展示和输入，可以设置前缀和后缀。</p>

<p>在使用 QSpinBox 和 QDoubleSpinBox 读取和设置数值时，无需做字符串与数值之间的转换，也无需做进制的转换，其显示效果（前缀、后缀、进制和小数位数）在设置好之后就自动按照效果进行显示，这对于数值的输入输出是非常方便的。</p>

<h2 id="qslide-qscrollbar-qdial">QSlide QScrollBar QDial</h2>

<p>QAbstractSlider 的子类。</p>

<p>QSlide ： 滑动条，通过滑动来设置数值，可用于数值输入。</p>

<p>QScrollBar ： 卷滚条，与 QSlider 功能类似，还可以用于卷滚区域。</p>

<p>QDial ： 表盘式数值输入组件，通过转动表针获得输入值。</p>

<p>基类 QAbstractSlider 的主要属性包括以下几种：</p>

<ul>
<li>minimum、maximum：设置输入范围的最小值和最大值，例如，用红、绿、蓝配色时，每种基色的大小范围是 0〜255，所以设置 minimum 为 0，maximum 为 255。</li>
<li>singleStep：单步长，拖动标尺上的滑块，或按下左/右光标键时的最小变化数值。</li>
<li>pageStep：在 Slider 上输入焦点，按 PgUp 或 PgDn 键时变化的数值。</li>
<li>value：组件的当前值，拖动滑块时自动改变此值，并限定在 minimum 和 maximum 定义的范围之内。</li>
<li>sliderPosition：滑块的位置，若 tracking 属性设置为 true，sliderPosition 就等于 value。</li>
<li>tracking：sliderPosition 是否等同于 value，如果 tracking=tme，改变 value 时也同时改变 sliderPosition。</li>
<li>orientation：Slider 的方向，可以设置为水平或垂直。方向参数是 Qt 的枚举类型 enum Qt::Orientation，取值包括以下两种：</li>
<li>invertedAppearance：显示方式是否反向，invertedAppearance=false 时，水平的 Slider 由左向右数值增大，否则反过来。</li>
<li>invertedControls：反向按键控制，若 invertedControls=tme，则按下 PgUp 或 PgDn 按键时调整数值的反向相反。</li>
</ul>

<p>属于 QSlider 的专有属性有两个，如下：</p>

<ul>
<li>tickPosition：标尺刻度的显示位置，使用枚举类型 QSliderzTickPosition，取值包括以下 6 种：

<ul>
<li>QSlider::NoTicks：不显示刻度</li>
<li>QSlider::TicksBothSides：标尺两侧都显示刻度</li>
<li>QSlider::TicksAbove：标尺上方显示刻度</li>
<li>QSlider::TicksBelow：标尺下方显示刻度</li>
<li>QSlider::TicksLeft：标尺左侧显示刻度</li>
<li>QSlider::TicksRight：标尺右侧显示刻度</li>
</ul></li>
<li>tickInterval：标尺刻度的间隔值，若设置为 0，会在 singleStep 和 pageStep 之间自动选择。</li>
</ul>

<h2 id="qprogressbar">QProgressBar</h2>

<p>进度条，一般用于显示任务进度，可用于数值的百分比显示。</p>

<h2 id="qlcdnumber">QLCDNumber</h2>

<p>模仿 LCD 数字的显示组件，可以显示整数或浮点数，显示整数时可以不同进制显示。</p>

<h2 id="time-date">Time &amp; Date</h2>

<p>时间日期类有： <code>QTime</code>, <code>QDate</code>, <code>QDateTime</code>等。 Qt中的相关组件有： QTimeEdit, QDateEdit, QDateTimeEdit, QCalendarWidget.</p>

<p>定时器类<code>QTimer</code>,</p>

<p>QTimer 主要的属性是 interval，是定时中断的周期，单位毫秒。QTimer 主要的信号是 timeout()，在定时中断时发射此信号，要想在定时中断里做出响应，这就需要编写 timeout() 信号的槽函数。设置定时器的周期，只需调用 Qtimer::setlnterval() 函数即可。QTimer::Start() 函数启动定时器，QTimer::Stop() 函数停止定时器。</p>

<h2 id="qcombobox">QComboBox</h2>

<p>下拉列表框</p>

<h2 id="qplaintextedit">QPlainTextEdit</h2>

<p>QPlainTextEdit 提供 cut()、copy()、paste()、undo()、redo()、clear()、selectAll() 等标准编辑功能的槽函数，QPlainTextEdit 还提供一个标准的右键快捷菜单。</p>

<h2 id="item">Item</h2>

<p>Qt 中用于项（Item）处理的组件有两类，一类是 Item Views，包括 QListView、QTreeView、 QTableView、QColumnView 等；另一类是 Item Widgets，包括 QListWidget、QTreeWidget 和 QTable Widget。</p>

<h2 id="qtreewidget-qdockwidget">QTreeWidget、QDockWidget</h2>

<h2 id="图片">图片</h2>

<p>ScrollArea组件上面放置一个 QLabel 组件，通过为 QLabel 设置一个 QPixmap 显示图片。通过 QPixmap 操作可进行缩放显示，包括放大、缩小、实际大小、适合宽度、适合高度等。</p>

<h2 id="qtablewidget">QTableWidget</h2>

<p>QTableWidget 是 Qt 中的表格组件类。在窗体上放置一个 QTableWidget 组件后，可以在 Property Editor 里对其进行属性设置，双击这个组件，可以打开一个编辑器，对其 Colum、Row 和 Item 进行编辑。</p>
                        </div>

                        


                        

<div class="post-archive">
    <h2>See Also</h2>
    <ul class="listing">
        
        <li><a href="/hugo/post/qt/qt_mode_view/">QT 模型视图模型</a></li>
        
    </ul>
</div>


                        <div class="post-meta meta-tags">
                            
                            <ul class="clearfix">
                                
                                <li><a href="https://otswang.gitee.io/hugo/tags/qt">Qt</a></li>
                                
                            </ul>
                            
                        </div>
                    </article>
                    
    

    
    
                </div>
            </div>
            <div id="secondary">

    <section class="widget">
        <form id="search" action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank" _lpchecked="1">
      
      <input type="text" name="q" maxlength="20" placeholder="Search">
      <input type="hidden" name="sitesearch" value="https://otswang.gitee.io/hugo/">
      <button type="submit" class="submit icon-search"></button>
</form>
    </section>

    
    <div class="clear">
        <div class="toc-article">
            <div class="toc-title">文章目录</dixsv>
            <nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#lineedit">LineEdit</a></li>
<li><a href="#qspinbox-与-qdoublespinbox">QSpinBox 与 QDoubleSpinBox</a></li>
<li><a href="#qslide-qscrollbar-qdial">QSlide QScrollBar QDial</a></li>
<li><a href="#qprogressbar">QProgressBar</a></li>
<li><a href="#qlcdnumber">QLCDNumber</a></li>
<li><a href="#time-date">Time &amp; Date</a></li>
<li><a href="#qcombobox">QComboBox</a></li>
<li><a href="#qplaintextedit">QPlainTextEdit</a></li>
<li><a href="#item">Item</a></li>
<li><a href="#qtreewidget-qdockwidget">QTreeWidget、QDockWidget</a></li>
<li><a href="#图片">图片</a></li>
<li><a href="#qtablewidget">QTableWidget</a></li>
</ul></li>
</ul>
</nav>
        </div>
    </div>
    

</div>
        </div>
    </div>
</div>
<footer id="footer">
    <div class="container">
        &copy; 2020 <a href="https://otswang.gitee.io/hugo/">The Sky of OtsWang By OtsWang</a>.
        Powered by <a rel="nofollow noreferer noopener" href="https://gohugo.io" target="_blank">Hugo</a>.
        <a href="https://www.flysnow.org/" target="_blank">Theme</a> based on <a href="https://github.com/Dudiao137/maupassant-hugo" target="_blank">maupassant-ots</a>.
        
    </div>
</footer>


    <script type="text/javascript">
    
    (function(){
        $("pre code").parent().addClass("line-numbers")
    }())

    window.MathJax = {
        tex2jax: {
            inlineMath: [ ['$','$'] ],
            processEscapes: true
        }
    };
    </script>
    <script type="text/javascript" src="/hugo/js/prism.js" async="true"></script>
    <script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML' async></script>

<a id="rocket" href="#top"></a>
<script type="text/javascript" src="/hugo/js/totop.js?v=0.0.0" async=""></script>







 
 <script src="https://mermaidjs.github.io/scripts/mermaid.min.js"></script>
 <script>
       mermaid.initialize({ startOnLoad: true });
 </script>
</body>
</html>
